perm filename BUGS[UCI,SYS]2 blob
sn#080181 filedate 1974-01-05 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 INSTRUCTIONS
C00003 00003 BUGS
C00007 00004 DISLIKES
C00008 00005 SUGGESTIONS
C00010 ENDMK
C⊗;
INSTRUCTIONS
This file is for reporting bugs in ILISP, and for making suggestions
about old features that need changing or new features people would
like added to the system. Please give your name and the date when
you make an entry.
BUGS
27-AUG-73 TVR
(PRIN1(QUOTE /)/")) results in /)/"
(PRIN1(QUOTE /"/))) results in ")
This clearly loses.
Tovar
17-JUN-73 DBA
Funnies when interrupting
(PROG NIL LBL (PRINC @FOO)(GO LBL))
If the (GO LBL) is interrupted then on doing OK or GO and another
interrupt, the second break thinks it is at a depth of 2.
The OK or GO does not reset the break depth counter,and the break
is not properly released. The next interrupt of GO gives a depth of
one more, but doing ↑ causes one of two kinds of lossage:
1. xxxxxxx ILL MEM REF FROM UNBREAK0
(/BREAK1 BROKEN)
in which case the only escape is ↑↑ (which continues to work)
2. xxxxxxx ILL MEM REF FROM SETARG
NON-NUMERIC ARGUMENT
at which time the thing goes into a tight loop from which there
is no escape.
!!! reply from Daryle Lewis about above problem
BRUCE,
THE PROBLEM WITH GO (AND RETURN FOR THAT MATTER) IS THAT
IT UNWINDS THE STACK BACK TO THE LAST PROG. HOWEVER, IT DOES NOT
UNWIND ERRSETS. SINCE THE GO OR OK EVALUATES ITS EXPRESSION INSIDE
OF AN ERRSET, THE NEXT TIME YOU DO A ↑ (WHICH IN TURN DOES (ERR NIL))
CONTROL IS TRANSFERED TO A POINT ON THE STACK WHICH IS NO LONGER
VALID. THIS CAN BE FIXED, AND PROBABLY WILL BE IN THE NEXT RELEASE.
THE PROBLEM WITH THE LEVEL NUMBER IS NOT SO SIMPLE. GO AND OK
ARE EXPECTING THE EXPRESSION TO RETURN A VALUE. AFTER THE VALUE
IS RETURNED, THE LEVEL # IS DECREMENTED. SINCE GO AND RETURN
SKIP OVER ALL OF THAT AND IMMEDIATELY RETURN TO THE LEVEL OF
THE PROG, THE LEVEL # REMAINS UNCHANGED, AS DO THE IO CHANNELS AND
THE PROMPT CHARACTER. YOU WILL GET A SIMILAR PROBLEM IF THE BROKEN
EXPRESSION CONTAINS A RETFROM, EXCEPT THAT RETFROM HANDELS ERRSETS.
I WILL GIVE A LOT OF THOUGHT TO THIS AND SEE WHAT I CAN COME UP WITH.
IN THE MEANTIME DON'T USE GO OR OK ON GO OR RETURN. IF THE BREAK
OCCURS BECAUSE OF AN ERROR, YOU CAN USE EX TO CONTINUE, BUT OTHERWISE,
I AM AT LOSS AS TO WHAT TO SAY. SORRY.
DARYLE
!!!
DISLIKES
All the time [EVERY,ONE]
Typeahead gets flushed too often!
27-AUG-73 TVR
Typeahead is flushed when ILISP is started because ERRSET flushs TTY
buffer irrespective of second arg. That should be fixed in ILISP.MAC.
SUGGESTIONS
2 JAN 73 DBA
The loader should be callable and passed "arguments" as a subroutine ie
it should not be necessary to tell it from the TTY what to load and how.
4 JAN 74 REM
There should exist a master index of all predefined functions, telling
whether the desceiption occurs in the LISP 1.6 Sailon, the ILISP manual,
or whereever, and maybe including the list of parameters such as:
CONS SUBR 1.6 (CONS <LIST> <LIST>)
DEFPROP FSUBR 1.6 (DEFPROP "NAME" "FUNCTIONAL DEFINITION" "TYPE OF FUNCTION")
EDITF FSUBR ILISP (EDITF "NAME OF FUNCTION") or (EDITF)
Also, the published copies of the LISP 1.6 Sailon that are
floating around have many errors, both misalignment of text and graphics,
and actual factual errors. Is there a list of errata to the published manual?